### 18.1 Target Selection

A target is an object file format. A given target may be supported for multiple architectures (see Architecture Selection). A target selection may also have variations for different operating systems or architectures.

The command to list valid target values is ``objdump -i`' (the first column of output contains the relevant information).

Some sample values are: ``a.out-hp300bsd`', ``ecoff-littlemips`', ``a.out-sunos-big`'.

You can also specify a target using a configuration triplet. This is the same sort of name that is passed to `configure` to specify a target. When you use a configuration triplet as an argument, it must be fully canonicalized. You can see the canonical version of a triplet by running the shell script `config.sub` which is included with the sources.

Some sample configuration triplets are: ``m68k-hp-bsd`', ``mips-dec-ultrix`', ``sparc-sun-sunos`'.

#### `objdump` Target

Ways to specify:

1. command line option: `-b` or `--target`
2. environment variable `GNUTARGET`
3. deduced from the input file

#### `objcopy` and `strip` Input Target

Ways to specify:

1. command line options: `-I` or `--input-target`, or `-F` or `--target`
2. environment variable `GNUTARGET`
3. deduced from the input file

#### `objcopy` and `strip` Output Target

Ways to specify:

1. command line options: `-O` or `--output-target`, or `-F` or `--target`
2. the input target (see “`objcopy` and `strip` Input Target” above)
3. environment variable `GNUTARGET`
4. deduced from the input file

#### `nm`, `size`, and `strings` Target

Ways to specify:

1. command line option: `--target`
2. environment variable `GNUTARGET`
3. deduced from the input file